bugfix(gameengine): Fix logic in GameEngine::canUpdateRegularGameLogic()#2707
bugfix(gameengine): Fix logic in GameEngine::canUpdateRegularGameLogic()#2707xezon wants to merge 2 commits into
Conversation
|
| Filename | Overview |
|---|---|
| Generals/Code/GameEngine/Source/Common/GameEngine.cpp | Core bug fix: removes the !enabled early-return, delegates FPS queries to getActualLogicTimeScaleFps/getActualFramesPerSecondLimit, and threads `IgnoreFrozenTime |
| Generals/Code/GameEngine/Include/Common/GameEngine.h | Declaration updated to add UnsignedInt logicTimeQueryFlags parameter to canUpdateGameLogic and canUpdateRegularGameLogic; no issues found. |
| GeneralsMD/Code/GameEngine/Source/Common/GameEngine.cpp | Identical fix mirrored for Zero Hour; change is consistent with the Generals counterpart. |
| GeneralsMD/Code/GameEngine/Include/Common/GameEngine.h | Declaration updated identically to the Generals header; no issues found. |
Reviews (2): Last reviewed commit: "Replicate in Generals" | Re-trigger Greptile
adb29b1 to
03edd6c
Compare
|
Rebased. Replicated in Generals without conflicts |
This change fixes a logic error in
GameEngine::canUpdateRegularGameLogic. It was spotted when loading a save game while max fps was uncapped, but after saveload it gets capped withTheGlobalData->m_useFpsLimit = true, which was then ignored inGameEngine::canUpdateRegularGameLogic. The result was an update timing discrepancy in GameEngine update, which caused glitches on game world visuals.TODO